function s=bin2qamsixteen(m)

offset=atan(1/3);
if(m==[0 0 0 0])
	r=sqrt(18); theta=3*pi/4;
elseif(m==[0 0 0 1])
	r=sqrt(10); theta=pi-offset;
elseif(m==[0 0 1 0])
	r=sqrt(18); theta=5*pi/4;
elseif(m==[0 0 1 1])
	r=sqrt(10); theta=pi+offset;
elseif(m==[0 1 0 0])
	r=sqrt(10); theta=pi/2+offset;
elseif(m==[0 1 0 1])
	r=sqrt(2); theta=3*pi/4;
elseif(m==[0 1 1 0])
	r=sqrt(10); theta=3*pi/2-offset;
elseif(m==[0 1 1 1])
	r=sqrt(2); theta=5*pi/4;
elseif(m==[1 0 0 0])
	r=sqrt(18); theta=1*pi/4;
elseif(m==[1 0 0 1])
	r=sqrt(10); theta=offset;
elseif(m==[1 0 1 0])
	r=sqrt(18); theta=7*pi/4;
elseif(m==[1 0 1 1])
	r=sqrt(10); theta=2*pi-offset;
elseif(m==[1 1 0 0])
	r=sqrt(10); theta=pi/2-offset;
elseif(m==[1 1 0 1])
	r=sqrt(2); theta=1*pi/4;
elseif(m==[1 1 1 0])
	r=sqrt(10); theta=3*pi/2+offset;
elseif(m==[1 1 1 1])
	r=sqrt(2); theta=7*pi/4;
end

s=r*exp(j*theta);